Trích dẫn Hàm_nội_tuyến

"Việc khai báo một hàm [... ] dùng chỉ định inline thông báo rằng hàm này là một hàm nội tuyến. Chỉ định inline báo với việc thực hiện chương trình rằng việc thay thế nội tuyến của phần thân hàm tại thời điểm hàm được khởi động là một lựa chọn được cân nhắc hơn là cơ chế thi hành hàm bình thường. Việc thực hiện một cơ chế để thay thế hàm nội tuyến tại thời điểm hàm được khởi động là một việc không cần thiết; song, ngay cả khi bỏ qua việc thay thế nội tuyến, các nguyên tắc khác đối với các hàm nội tuyến được định nghĩa trong phần 7.1.2 cũng vẫn phải được tôn trọng."— ISO 14882:1998(E), the current C++ standard, section 7.1.2"Một hàm được khai báo với chỉ định hàm inline là một hàm nội tuyến. [... ] Việc nội tuyến hóa một hàm gợi ý rằng các yêu cầu khởi động hàm phải được thi hành càng nhanh càng tốt. Phạm vi ảnh hưởng của những gợi ý như vậy có hiệu quả bao nhiêu còn tùy thuộc vào thực hiện (implementation-defined) (ghi chú: Lấy ví dụ, một thực hiện có thể sẽ không bao giờ thi hành thay thế nội tuyến, hoặc chỉ thi hành thay thế nội tuyến đối với các yêu cầu khởi động trong phạm vi (scope) của một khai báo nội tuyến mà thôi)"[... ] Một khai báo nội tuyến không cung cấp định nghĩa ngoại vi (external definition) cho một hàm, cũng không ngăn cấm một định nghĩa ngoại vi trong một đơn vị thông dịch (translation unit) khác. Định nghĩa nội tuyến cung cấp một hình thức thay thế cho định nghĩa ngoại vi, và một bộ thông dịch (translator) có thể sử dụng để thực hiện bất cứ một yêu cầu khởi động hàm nào trong cùng đơn vị thông dịch. Việc một yêu cầu thi hành một hàm nào đó sử dụng định nghĩa nội tuyến hoặc sử dụng định nghĩa ngoại tuyến là một việc không được xác định cụ thể."— ISO 9899:1999(E), the C99 standard, section 6.7.4

Liên quan